package com.lb.trac.service;

import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.orm.hibernate3.HibernateTemplate;

import com.lb.trac.dao.DAOService;
import com.lb.trac.pojo.Progetti;
import com.lb.trac.pojo.Utenti;
import com.lb.trac.pojo.condition.FindUtentiByIds;

public class CreateProjectService {

	private JdbcTemplate jdbcTemplate;
	private SearchService searchService;
	private HibernateTemplate hibernateTemplate;
	private DAOService daoService;

	public void insertProject(String[] idsUtenti, Progetti p) {
		Utenti[] users = searchService.find(new Utenti[0], new FindUtentiByIds(
				idsUtenti), Utenti.class);
		String insert = "insert into UTENTE_PROGETTO(ID_UTENTE,ID_PROGETTO) values ({0},{1})";
		List<String> inserts = new ArrayList<String>();
		for (int i = 0; i < users.length; i++) {
			Utenti utenti = users[i];

			inserts.add(MessageFormat.format(insert, new String[] {
					utenti.getIdUtente().toString(),
					p.getIdProgetto().toString() }));
		}
		getJdbcTemplate().batchUpdate(inserts.toArray(new String[0]));
	}
	
	//ERIKA
	/*public void insertProjectTemp(String[] idsUtenti, Progetti p) {
		Utenti[] users = searchService.find(new Utenti[0], new FindUtentiByIds(
				idsUtenti), Utenti.class);
		String insert = "insert into UTENTE_PROGETTO_TEMP(ID_UTENTE,ID_PROGETTO) values ({0},{1})";
		List<String> inserts = new ArrayList<String>();
		for (int i = 0; i < users.length; i++) {
			Utenti utenti = users[i];

			inserts.add(MessageFormat.format(insert, new String[] {
					utenti.getIdUtente().toString(),
					p.getIdProgetto().toString() }));
		}
		getJdbcTemplate().batchUpdate(inserts.toArray(new String[0]));
	}*/
	

	public SearchService getSearchService() {
		return searchService;
	}

	public void setSearchService(SearchService searchService) {
		this.searchService = searchService;
	}

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}

	public JdbcTemplate getJdbcTemplate() {
		return jdbcTemplate;
	}

	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}

	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

	public DAOService getDaoService() {
		return daoService;
	}

	public void setDaoService(DAOService daoService) {
		this.daoService = daoService;
	}

}
